// import com.alibaba.druid.sql.ast.SQLExpr*;
// import com.alibaba.druid.sql.ast.SQLName*;
// import com.alibaba.druid.sql.ast.statement.SQLAlterTableItem;
// import com.alibaba.druid.sql.dialect.mysql.ast.MySqlObjectImpl;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;

#include "MySqlAlterTableAlterColumn.h"
#include "../../../../../sql/ast/SQLExpr.h"
#include "../../../../../sql/ast/SQLName.h"
#include "../../../../../sql/dialect/mysql/visitor/MySqlASTVisitor.h"

// @Override
void MySqlAlterTableAlterColumn::accept0(MySqlASTVisitor_ptr visitor)
{
  if (visitor->visit(SharedObject(MySqlAlterTableAlterColumn)))
  {
    acceptChild(visitor, column);
    acceptChild(visitor, defaultExpr);
  }
  visitor->endVisit(SharedObject(MySqlAlterTableAlterColumn));
}

BOOL_ptr MySqlAlterTableAlterColumn::isDropDefault()
{
  return dropDefault;
}

void MySqlAlterTableAlterColumn::setDropDefault(BOOL_ptr dropDefault)
{
  this->dropDefault = dropDefault;
}

SQLExpr_ptr MySqlAlterTableAlterColumn::getDefaultExpr()
{
  return defaultExpr;
}

void MySqlAlterTableAlterColumn::setDefaultExpr(SQLExpr_ptr defaultExpr)
{
  this->defaultExpr = defaultExpr;
}

SQLName_ptr MySqlAlterTableAlterColumn::getColumn()
{
  return column;
}

void MySqlAlterTableAlterColumn::setColumn(SQLName_ptr column)
{
  this->column = column;
}
